<?php
/**
 * Copyright (c) [2019] [吴跃忠]
 * [selibra] is licensed under the Mulan PSL v1.
 * You can use this software according to the terms and conditions of the Mulan PSL v1.
 * You may obtain a copy of Mulan PSL v1 at:
 * http://license.coscl.org.cn/MulanPSL
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
 * PURPOSE.
 * See the Mulan PSL v1 for more details.
 */

namespace LeoMQ;


use LeoMQ\Intf\MQSubscriber;

class LeoMQMessage
{

    /**
     * 消息主体
     * @var string
     */
    protected string $message;

    /**
     * 订阅信息
     * @var MQSubscriber
     */
    protected MQSubscriber $subscriber;

    /**
     * @var array|object|string|null
     */
    protected object|array|string|null $rowMsg;

    /**
     * @return string
     */
    public function getMessage(): string
    {
        return $this->message;
    }

    /**
     * @param string $message
     */
    public function setMessage(string $message): void
    {
        $this->message = $message;
    }

    /**
     * @return MQSubscriber
     */
    public function getSubscriber(): MQSubscriber
    {
        return $this->subscriber;
    }

    /**
     * @param MQSubscriber $subscriber
     */
    public function setSubscriber(MQSubscriber $subscriber): void
    {
        $this->subscriber = $subscriber;
    }

    /**
     * @return array|object|string|null
     */
    public function getRowMsg()
    {
        return $this->rowMsg;
    }

    /**
     * @param array|object|string|null $rowMsg
     */
    public function setRowMsg($rowMsg): void
    {
        $this->rowMsg = $rowMsg;
    }

}